As the Internet becomes more complex, comprising a continuously increasing number of interconnected networks, the packetized requests from client terminals and packetized server responses pass through an ever increasing number of routers between the two endpoints. It is not uncommon, for example, that these packets traverse eighteen or more routers along their route. Since the Internet does not provide any guaranteed Quality of Service (QoS), certain packets may be delayed or lost as they pass through these routers, which likelihood increases with the number of routers through which the packets traverse. If a stream of packets transmitted from a server to a client contains real-time multimedia content (audio, video, and data), the received stream may contain missing or delayed packets. In many cases, such missing packets may necessitate that the client re-request the content of the previously requested URL, thereby requiring the server to resend the entire content. For a transmitted video clip, for example, this is analogous to rewinding a video tape to its beginning and re-watching the entire tape to view the missing portion. This is a waste of resources of the server, the network, and the time of the user at the client.
In some environments where the clients and the servers are on the same subnetwork, such as the same ATM network or ISDN network (a public switched or private ISDN network, for example), the downstreaming of information from the server to the client can bypass the routers, and thus the delay and loss-imparting network elements, if the stations at both endpoints are provided with each other's address on their common subnetwork. For example, if the client and server know of each other's address in the ISDN domain, a direct connection can be established on the ISDN network, as opposed to the Internet, for at least the streaming of information from the server to the client. The key element in being able to use subnetwork interconnectivity is thus providing one endpoint with the subnetwork address of the other from which a direct connection between the endpoints can be established on the subnetwork.
A fairly general way to discover such subnetwork addresses is to place special address translating servers in the Internet network. Clients and servers can then query these address translators to obtain the subnetwork addresses. In order to provide wide area interconnectivity between clients and servers, a significant infrastructure is necessary to put such a network of translators in place. Furthermore, in order to enable clients and servers to take advantage of these translator servers within the Internet, the software on both the clients and host servers end devices must be modified to access the translator servers to obtain the alternate address information.